/**
 * @File Name		: DecorationService
 * @Package   	: com.fanglin.service.decoration
 * @Version		: 1.0
 * @Date			: 2014-9-27
 * @Copyright	: Copyright Creators 2014
 * @Author		: bty1987
 * @Email			: 
 * @Describing	: 
 */

package com.fanglin.decoration.service;

import java.sql.Timestamp;
import java.util.List;

import com.fanglin.core.interceptor.FLException;
import com.fanglin.core.vo.Authentication;
import com.fanglin.core.vo.Filter;
import com.fanglin.decoration.vo.DecorationInfoVO;
import com.fanglin.decoration.vo.DecorationVO;
import com.fanglin.utils.Paging;

public interface DecorationService {

	public void pageDecoration(Paging paging, List<Filter> filters, Authentication authentication, List<Short> status);

	public void pageDecorationForGeneral(Paging paging, List<Filter> filters, Authentication authentication);

	public void pageDecorationForCommon(Paging paging, List<Filter> filters, Authentication authentication);

	public void pageDecorationForDesigner(Paging paging, List<Filter> filters, Authentication authentication);

	public void pageDecorationForSalesman(Paging paging, List<Filter> filters, Authentication authentication);

	public void pageDecorationForBelong(Paging paging, List<Filter> filters, Authentication authentication);

	public void pageDecorationForQuoter(Paging paging, List<Filter> filters, Authentication authentication);

	public void pageDecorationForEscorter(Paging paging, List<Filter> filters, Authentication authentication);

	public void pageDecorationForDesignerManager(Paging paging, List<Filter> filters, Authentication authentication);

	public void pageDecorationForSalesmanManager(Paging paging, List<Filter> filters, Authentication authentication);

	public List<DecorationVO> queryDecorationByCustomerId(DecorationVO decorationVO, Authentication authentication) throws FLException;

	public DecorationVO queryDecorationByOrderId(String orderId) throws FLException;

	public DecorationVO queryDecorationForCommonByOrderId(DecorationVO decorationVO, String userId) throws FLException;

	public DecorationVO checkDecoration(Paging paging, List<Filter> filters, Authentication authentication);

	public void checkDecorationForExist(DecorationVO decorationVO);

	public void createDecoration(DecorationVO decorationVO, DecorationInfoVO decorationInfoVO, String userId, int company) throws FLException;

	public void changeDecorationForAdvance(DecorationVO decorationVO, DecorationInfoVO decorationInfoVO) throws FLException;

	public void changeDecorationForHouse(DecorationVO decorationVO, String userId) throws FLException;

	public void changeDecorationForOrderId(String oldOrderId, String newOrderId, String userId) throws FLException;

	public void changeDecorationForTime(DecorationVO decorationVO, int timeType, Timestamp dateTime, String userId) throws FLException;

	public void changeDecorationForVersionId(DecorationVO decorationVO, String userId) throws FLException;

	public void changeDecorationForStatus(DecorationVO decorationVO, String userId) throws FLException;

	public void changeDecorationForType(DecorationVO decorationVO, String userId) throws FLException;

	public void obsoleteDecoration(DecorationVO decorationVO, String userName) throws FLException;

	public void terminalDecoration(DecorationVO decorationVO, float refundValue, float paymentValue, Authentication authentication) throws FLException;

	public void subDecorationForQuotationTime(DecorationVO decorationVO, String userId) throws FLException;

	public String tranDecorationFromCustomerOrigin(DecorationVO decorationVO, long csid, int company) throws FLException;

}
